home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.n / place.n < prev    next >
Text File  |  1995-07-25  |  16KB  |  264 lines

  1.  
  2.  
  3.  
  4.      ppppllllaaaacccceeee((((nnnn))))                     TTTTkkkk (((( ))))                      ppppllllaaaacccceeee((((nnnn))))
  5.  
  6.  
  7.  
  8.      _________________________________________________________________
  9.  
  10.      NNNNAAAAMMMMEEEE
  11.           place - Geometry manager for fixed or rubber-sheet placement  |
  12.  
  13.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS                                                           ||||
  14.           ppppllllaaaacccceeee _w_i_n_d_o_w _o_p_t_i_o_n _v_a_l_u_e ?_o_p_t_i_o_n _v_a_l_u_e ...?                  |
  15.  
  16.           ppppllllaaaacccceeee ccccoooonnnnffffiiiigggguuuurrrreeee _w_i_n_d_o_w _o_p_t_i_o_n _v_a_l_u_e ?_o_p_t_i_o_n _v_a_l_u_e ...?        |
  17.  
  18.           ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt _w_i_n_d_o_w                                           |
  19.  
  20.           ppppllllaaaacccceeee iiiinnnnffffoooo _w_i_n_d_o_w                                             |
  21.  
  22.           ppppllllaaaacccceeee ssssllllaaaavvvveeeessss _w_i_n_d_o_w                                           |
  23.      _________________________________________________________________
  24.  
  25.  
  26.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.           The placer is a geometry manager for Tk.  It provides simple
  28.           fixed placement of windows, where you specify the exact size
  29.           and location of one window, called the _s_l_a_v_e, within another
  30.           window,   called  the  _m_a_s_t_e_r.   The  placer  also  provides
  31.           rubber-sheet placement,  where  you  specify  the  size  and
  32.           location  of  the  slave  in  terms of the dimensions of the
  33.           master, so that the  slave  changes  size  and  location  in
  34.           response  to changes in the size of the master.  Lastly, the
  35.           placer allows you to mix these styles of placement so  that,
  36.           for  example,  the slave has a fixed width and height but is
  37.           centered inside the master.
  38.  
  39.           If the first argument to the ppppllllaaaacccceeee command is a window  path
  40.           name  or  ccccoooonnnnffffiiiigggguuuurrrreeee then the command arranges for the placer
  41.           to manage the geometry of a slave whose path name is _w_i_n_d_o_w.
  42.           The  remaining arguments consist of one or more _o_p_t_i_o_n-_v_a_l_u_e
  43.           pairs that specify the way in  which  _w_i_n_d_o_w's  geometry  is
  44.           managed.  If the placer is already managing _w_i_n_d_o_w, then the
  45.           _o_p_t_i_o_n-_v_a_l_u_e pairs modify the configuration for _w_i_n_d_o_w.   In
  46.           this  form  the  ppppllllaaaacccceeee  command  returns  an empty string as
  47.           result.  The following _o_p_t_i_o_n-_v_a_l_u_e pairs are supported:
  48.  
  49.           ----iiiinnnn _m_a_s_t_e_r
  50.                _M_a_s_t_e_r specifes the path name of the window relative to
  51.                which  _w_i_n_d_o_w  is  to be placed.  _M_a_s_t_e_r must either be
  52.                _w_i_n_d_o_w's parent or a descendant of _w_i_n_d_o_w's parent.  In
  53.                addition, _m_a_s_t_e_r and _w_i_n_d_o_w must both be descendants of
  54.                the same  top-level  window.   These  restrictions  are
  55.                necessary  to guarantee that _w_i_n_d_o_w is visible whenever
  56.                _m_a_s_t_e_r is visible.  If this option isn't specified then
  57.                the master defaults to _w_i_n_d_o_w's parent.
  58.  
  59.           ----xxxx _l_o_c_a_t_i_o_n
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 7/23/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      ppppllllaaaacccceeee((((nnnn))))                     TTTTkkkk (((( ))))                      ppppllllaaaacccceeee((((nnnn))))
  71.  
  72.  
  73.  
  74.                _L_o_c_a_t_i_o_n specifies the x-coordinate within  the  master
  75.                window of the anchor point for _w_i_n_d_o_w.  The location is
  76.                specified in  screen  units  (i.e.  any  of  the  forms
  77.                accepted  by  TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss) and need not lie within the
  78.                bounds of the master window.
  79.  
  80.           ----rrrreeeellllxxxx _l_o_c_a_t_i_o_n
  81.                _L_o_c_a_t_i_o_n specifies the x-coordinate within  the  master
  82.                window  of  the  anchor point for _w_i_n_d_o_w.  In this case
  83.                the location is specified in a relative  fashion  as  a
  84.                floating-point  number:   0.0  corresponds  to the left
  85.                edge of the master and 1.0  corresponds  to  the  right
  86.                edge  of the master.  _L_o_c_a_t_i_o_n need not be in the range
  87.                0.0-1.0.
  88.  
  89.           ----yyyy _l_o_c_a_t_i_o_n
  90.                _L_o_c_a_t_i_o_n specifies the y-coordinate within  the  master
  91.                window of the anchor point for _w_i_n_d_o_w.  The location is
  92.                specified in  screen  units  (i.e.  any  of  the  forms
  93.                accepted  by  TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss) and need not lie within the
  94.                bounds of the master window.
  95.  
  96.           ----rrrreeeellllyyyy _l_o_c_a_t_i_o_n
  97.                _L_o_c_a_t_i_o_n specifies the y-coordinate within  the  master
  98.                window  of  the  anchor point for _w_i_n_d_o_w.  In this case
  99.                the value is specified  in  a  relative  fashion  as  a
  100.                floating-point number:  0.0 corresponds to the top edge
  101.                of the master and 1.0 corresponds to the bottom edge of
  102.                the master.  _L_o_c_a_t_i_o_n need not be in the range 0.0-1.0.
  103.  
  104.           ----aaaannnncccchhhhoooorrrr _w_h_e_r_e
  105.                _W_h_e_r_e  specifies  which  point  of  _w_i_n_d_o_w  is  to   be
  106.                positioned  at  the  (x,y) location selected by the ----xxxx,
  107.                ----yyyy, ----rrrreeeellllxxxx, and ----rrrreeeellllyyyy options.  The anchor point  is  in
  108.                terms of the outer area of _w_i_n_d_o_w including its border,
  109.                if any.  Thus if  _w_h_e_r_e  is  sssseeee  then  the  lower-right
  110.                corner  of  _w_i_n_d_o_w's  border  will  appear at the given
  111.                (x,y) location in  the  master.   The  anchor  position
  112.                defaults to nnnnwwww.
  113.  
  114.           ----wwwwiiiiddddtttthhhh _s_i_z_e
  115.                _S_i_z_e specifies the width for  _w_i_n_d_o_w  in  screen  units
  116.                (i.e.  any of the forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss).  The
  117.                width will be the outer width of _w_i_n_d_o_w  including  its
  118.                border,  if  any.  If _s_i_z_e is an empty string, or if no
  119.                ----wwwwiiiiddddtttthhhh or ----rrrreeeellllwwwwiiiiddddtttthhhh option is specified, then the width
  120.                requested internally by the window will be used.
  121.  
  122.           ----rrrreeeellllwwwwiiiiddddtttthhhh _s_i_z_e
  123.                _S_i_z_e specifies the width for _w_i_n_d_o_w.  In this case  the
  124.                width  is specified as a floating-point number relative
  125.                to the width of the master: 0.5 means  _w_i_n_d_o_w  will  be
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 7/23/95)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      ppppllllaaaacccceeee((((nnnn))))                     TTTTkkkk (((( ))))                      ppppllllaaaacccceeee((((nnnn))))
  137.  
  138.  
  139.  
  140.                half  as wide as the master, 1.0 means _w_i_n_d_o_w will have
  141.                the same width as the master, and so on.
  142.  
  143.           ----hhhheeeeiiiigggghhhhtttt _s_i_z_e
  144.                _S_i_z_e specifies the height for _w_i_n_d_o_w  in  screen  units
  145.                (i.e.  any of the forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss).  The
  146.                height will be the outer dimension of _w_i_n_d_o_w  including
  147.                its  border, if any.  If _s_i_z_e is an empty string, or if
  148.                no ----hhhheeeeiiiigggghhhhtttt or ----rrrreeeellllhhhheeeeiiiigggghhhhtttt option is specified, then  the
  149.                height requested internally by the window will be used.
  150.  
  151.           ----rrrreeeellllhhhheeeeiiiigggghhhhtttt _s_i_z_e
  152.                _S_i_z_e specifies the height for _w_i_n_d_o_w.  In this case the
  153.                height is specified as a floating-point number relative
  154.                to the height of the master: 0.5 means _w_i_n_d_o_w  will  be
  155.                half  as high as the master, 1.0 means _w_i_n_d_o_w will have
  156.                the same height as the master, and so on.
  157.  
  158.           ----bbbboooorrrrddddeeeerrrrmmmmooooddddeeee _m_o_d_e
  159.                _M_o_d_e determines the degree to which borders within  the
  160.                master  are  used  in  determining the placement of the
  161.                slave.  The default and most common  value  is  iiiinnnnssssiiiiddddeeee.
  162.                In  this  case  the  placer  considers  the area of the
  163.                master to be the innermost area of the  master,  inside
  164.                any  border:  an  option  of  ----xxxx 0000 corresponds to an x-
  165.                coordinate just inside the  border  and  an  option  of
  166.                ----rrrreeeellllwwwwiiiiddddtttthhhh  1111....0000  means  _w_i_n_d_o_w will fill the area inside
  167.                the master's border.   If  _m_o_d_e  is  oooouuuuttttssssiiiiddddeeee  then  the
  168.                placer  considers the area of the master to include its
  169.                border; this mode is typically used when placing _w_i_n_d_o_w
  170.                outside  its  master,  as  with  the  options ----xxxx 0000 ----yyyy 0000
  171.                ----aaaannnncccchhhhoooorrrr nnnneeee.  Lastly, _m_o_d_e may be specified  as  iiiiggggnnnnoooorrrreeee,
  172.                in  which  case  borders  are ignored:  the area of the
  173.                master is considered to be its official X  area,  which
  174.                includes any internal border but no external border.  A
  175.                bordermode of iiiiggggnnnnoooorrrreeee is probably not very useful.
  176.  
  177.           If the same value is specified separately with two different
  178.           options,  such  as ----xxxx and ----rrrreeeellllxxxx, then the most recent option
  179.           is used and the older one is ignored.
  180.  
  181.           The ppppllllaaaacccceeee ssssllllaaaavvvveeeessss command returns a list  of  all  the  slave  |
  182.           windows  for  which  _w_i_n_d_o_w  is the master.  If there are no
  183.           slaves for _w_i_n_d_o_w then an empty string is returned.
  184.  
  185.           The ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt command causes the placer to stop  managing
  186.           the  geometry  of  _w_i_n_d_o_w.  As a side effect of this command
  187.           _w_i_n_d_o_w will be unmapped so that it  doesn't  appear  on  the
  188.           screen.   If  _w_i_n_d_o_w  isn't  currently managed by the placer
  189.           then the command has no effect.   PPPPllllaaaacccceeee  ffffoooorrrrggggeeeetttt  returns  an
  190.           empty string as result.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 7/23/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      ppppllllaaaacccceeee((((nnnn))))                     TTTTkkkk (((( ))))                      ppppllllaaaacccceeee((((nnnn))))
  203.  
  204.  
  205.  
  206.           The ppppllllaaaacccceeee iiiinnnnffffoooo command returns a  list  giving  the  current
  207.           configuration  of _w_i_n_d_o_w.  The list consists of _o_p_t_i_o_n-_v_a_l_u_e
  208.           pairs in exactly the same form as might be specified to  the
  209.           ppppllllaaaacccceeee  ccccoooonnnnffffiiiigggguuuurrrreeee  command.  If the configuration of a window
  210.           has been retrieved with ppppllllaaaacccceeee iiiinnnnffffoooo, that  configuration  can
  211.           be  restored  later by first using ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt to erase any
  212.           existing information for the window and then invoking  ppppllllaaaacccceeee
  213.           ccccoooonnnnffffiiiigggguuuurrrreeee with the saved information.
  214.  
  215.  
  216.      FFFFIIIINNNNEEEE PPPPOOOOIIIINNNNTTTTSSSS
  217.           It is not necessary for the master window to be  the  parent
  218.           of the slave window.  This feature is useful in at least two
  219.           situations.  First, for complex window layouts it means  you
  220.           can  create  a hierarchy of subwindows whose only purpose is
  221.           to  assist  in  the  layout  of  the  parent.   The   ``real
  222.           children''   of  the  parent  (i.e.  the  windows  that  are
  223.           significant for the application's  user  interface)  can  be
  224.           children  of  the parent yet be placed inside the windows of
  225.           the geometry-management hierarchy.  This means that the path
  226.           names  of  the ``real children'' don't reflect the geometry-
  227.           management hierarchy and users can specify options  for  the
  228.           real  children  without  being aware of the structure of the
  229.           geometry-management hierarchy.
  230.  
  231.           A second reason for  having  a  master  different  than  the
  232.           slave's  parent  is  to  tie  two  siblings  together.   For
  233.           example, the placer can be used to force a window always  to
  234.           be  positioned  centered  just  below one of its siblings by
  235.           specifying the configuration
  236.  
  237.                ----iiiinnnn _s_i_b_l_i_n_g ----rrrreeeellllxxxx 0000....5555 ----rrrreeeellllyyyy 1111....0000 ----aaaannnncccchhhhoooorrrr nnnn ----bbbboooorrrrddddeeeerrrrmmmmooooddddeeee oooouuuuttttssssiiiiddddeeee
  238.           Whenever the sibling is  repositioned  in  the  future,  the
  239.           slave will be repositioned as well.
  240.  
  241.           Unlike many other geometry managers (such as the packer) the
  242.           placer  does not make any attempt to manipulate the geometry
  243.           of the master windows or the parents of slave windows  (i.e.
  244.           it doesn't set their requested sizes).  To control the sizes
  245.           of these windows, make them windows like frames and canvases
  246.           that provide configuration options for this purpose.
  247.  
  248.  
  249.      KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  250.           geometry manager, height, location,  master,  place,  rubber
  251.           sheet, slave, width
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.      Page 4                                          (printed 7/23/95)
  260.  
  261.  
  262.  
  263.